1. Field of the Invention
This invention is related to a network of computer systems and, more particularly, to storage in the network and access to the storage by client computer systems.
2. Description of the Related Art
Frequently, computer systems are deployed in a networked environment. In the networked environment, one or more client computer systems running user applications may be connected to one or more file servers which provide networked access to files used by the applications. Such a networked environment is referred to as a distributed file system.
Unfortunately, current distributed file systems have a number of drawbacks. Current distributed file systems are based on complex and error-prone mechanisms for managed access to shared files across multiple client computer systems. These mechanisms typically rely heavily on local client caching of file data and metadata (information locating the file such as directories, allocation tables, etc. and/or information describing other attributes of the file, such as access permissions, etc.). When multiple clients cache such data, some form of locking or serialization is used to coordinate metadata updates and to prevent conflicting updates. The caches are complex and difficult to implement correctly. Furthermore, such caches complicate the recovery from system failures (either in the client or in the file servers). Thus, it is desirable to eliminate client caching of file data and metadata while still retaining high performance access to files in a distributed file system.